package p2;

import java.lang.reflect.Method;

public class AnnotationProcessor {
    public static void process(Object obj) {
        Class<?> clazz = obj.getClass();
        // 获取类中所有方法
        for (Method method : clazz.getMethods()) {
            // 判断方法是否有 MyAnnotation 注解
            if (method.isAnnotationPresent(MyAnnotation.class)) {
                MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
                System.out.println("方法 [" + method.getName() + "] 被注解标记，描述：" + annotation.value());
                try {
                    // 调用被注解的方法
                    method.invoke(obj);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
